"""
参数函数
语法：
    def 函数名(参数1,参数2....):
        函数执行的代码
"""


# 1.必须参数：调用函数时必须提供的参数
def add(num1, num2):
    print(f"num1 + num2值是 {num1 + num2}")


add(1, 2)  # 输出：3


# 2.关键字参数：使用 参数名 来指定参数值
def describe_person(name, age):
    print(f"{name} 今年 {age} 岁。")


# 调用自定义函数的
describe_person(age=25, name="张三")  # 输出：张三 今年 25 岁。


# 3.默认参数：在定义函数时为参数设定默认值。
def greet(name="朋友"):
    print(f"你好，{name}！")


greet()  # 输出：你好，朋友！
greet("李四")  # 输出：你好，李四！


# 4.可变参数：可以接收任意数量的参数。
def sum_numbers(*args):
    total = 0
    for num in args:
        total += num
    return total


result = sum_numbers(1, 2, 3, 4)  # 返回 10
print(result)


# 5.可变关键字参数：能够接收任意数量的关键字参数。
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")


print_info(name="王五", age=30, city="北京")
# 输出：
# name: 王五
# age: 30
# city: 北京
